package cn.tworice.admin.service.impl;

import cn.tworice.admin.dao.PostsDao;
import cn.tworice.admin.service.PostsService;
import cn.tworice.common.entity.Degree;
import cn.tworice.common.entity.dto.PostsDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.UUID;

/**
 * 职位信息业务处理
 * @Author 二饭
 * @Email 1786705138@qq.com
 * @Date 2021/12/11 20:18
 */
@Service
@Slf4j
public class PostsServiceImpl implements PostsService {

    @Autowired
    private PostsDao postsDao;

    /**
     * 进行
     * 分页
     * 条件   企业类别，学历最低要求，工作城市
     * 查询
     * @Author 二饭
     * @Email 1786705138@qq.com
     * @Date 2021/12/11 21:26
     */
    @Override
    public List<PostsDto> getList(PostsDto postsDto,Integer page, Integer pageSize) {
        int i=(postsDto.getDegree()==null?0:postsDto.getDegree()); // 企业类型
        int j=(postsDto.getCompaniesType()==null?0:postsDto.getCompaniesType()); // 学历
        String addr=(postsDto.getAddr()==null || postsDto.getAddr().isEmpty())?null:postsDto.getAddr();
        return postsDao.queryPostsList(j,i,(page*pageSize),pageSize,addr);
    }

    @Override
    public Integer getTotal(PostsDto postsDto) {
        int i=(postsDto.getDegree()==null?0:postsDto.getDegree());
        int j=(postsDto.getCompaniesType()==null?0:postsDto.getCompaniesType());
        String addr=(postsDto.getAddr()==null || postsDto.getAddr().isEmpty())?null:postsDto.getAddr();
        return postsDao.queryTotal(j,i,addr);
    }

    @Override
    public Integer getTotal() {
        return postsDao.queryTotalAll();
    }

    @Override
    public void setPosts(PostsDto postsDto) {
        if (postsDto.getId() == null || postsDto.getId().isEmpty()) {
            postsDto.setId(UUID.randomUUID().toString().replaceAll("-", ""));
            postsDto.setDate(System.currentTimeMillis());
            postsDao.insertPosts(postsDto);
        }else {
            postsDao.updatePosts(postsDto);
        }
    }

    @Override
    public void del(String id) {
        postsDao.del(id);
    }

    @Override
    public List<Degree> getDegree() {
        return postsDao.queryDegreeList();
    }

    /**
     * 通过企业ID查询职位ID
     * @Author 二饭
     * @Email 1786705138@qq.com
     * @Date 2021/12/13 21:39
     */
    @Override
    public List<PostsDto> getListByCompanies(String id,Integer pageSize,Integer page) {
        return postsDao.queryPostsListByCompaniesId(id,(page*pageSize),pageSize);
    }
}
